Sculpting has been shown to be a natural metaphor for the computer-modeling of three-dimensional objects. Hence, a variety of techniques that are analogous to sculpting have been proposed to generate three-dimensional computer models. Some of these techniques make use of small shapes or Constructive Solid Geometry (CSG) primitives that are agglomerated to form a model. Others techniques make use of volume elements, known as voxels, to build the models.
According to these techniques, primitives or voxels are either added to or taken away from the model. According to the carving technique, a large set of primitives or voxels is initially provided and primitives or voxels are gradually removed or “carved away” until a representative model of the object is formed. According to the marching tetrahedra technique, a small set of primitive is defined and repeatedly reproduced until all of the volume inside of an object is filled. Then, the primitives that lie outside of the volume of the object are removed, again leaving a model of the object.
One advantage of techniques analogous to sculpting is that precise numerical control of the vertices of the model, such as would be required for a CAD system, is not needed. A disadvantage of the techniques is that the preciseness of the model is limited by the size and shape of the primitives. Further, breaking down the primitives into smaller shapes, when possible, is problematic because many primitives must be broken down to avoid modeling inconsistencies and many voxels must be added to justify the presence of the added voxels.
Voxel-based techniques do not require the use of primitives with pre-determined shapes. According to voxel-based approaches, the user is presented with a grid of voxels and selects which of the voxels in the grid are inside of the object being modeled and which are outside of the object. Using binary values for the voxels, the voxels outside of the object can be turned off. Then, by forming polygons to contain the voxels that have not been turned off, isosurface approximations to the surfaces of the object being modeled can be extracted and output as a model.
When they are voxel-based, the carving and marching tetrahedra methods can use a three-dimensional geometry, known as a kernel operator, to remove voxels from the model. If voxels need to be added to the model, the kernel operator can perform a fill operation that adds voxels to the model. However, because the size and shape of the kernal operator typically remains fixed, the resolution of the model is limited.
In a related method called sawing, a cross-sectional area is extruded into three dimensions and used as the kernel operator. Cross-sectional areas that are commonly extruded according to the sawing method include circles, polygons, and Bézier curves. However, the sawing operation can also be performed with any other closed path. Nonetheless, the resolution of a model is still limited because the extruded kernel operator is typically not subdivided.
In many three-dimensional modeling techniques, the model of the object can be displayed in real time by a volume rendering technique. When it is voxel-based, the model can be rendered as the set of voxels that have not been turned off or as the isosurfaces of the polygons that contain those voxels. Once rendered, the voxels can be “painted” to match the colors of the portions of the objects that they are representing. However, the model is typically only displayed in a single view, making it difficult to visualize the model in three dimensions.
As voxel-based modeling techniques have been developed, voxel-based interfaces have also been developed and implemented in order to assist users in creating models. Some interfaces include a three-dimensional cursor control device (mouse) and a set of three-dimensional tools that can be used to remove or add voxels. However, most users lack three-dimensional input devices and therefore require two-dimensional interfaces.
Although some two-dimensional interfaces and tools exist that provide sufficient geometric intuition for sculpting three-dimensional objects, substantial training, concentration, and practice is generally required of the users in order to use the tools. In other words, currently available combinations of two-dimensional interfaces and tools for sculpting objects in three dimensions are not intuitive and are therefore difficult to use.